/*
* 依次导入目录 src/routes/admin 下面的文件
* 导入的时候，最后与目录下的文件顺序保持一致
* */
//管理员模式下菜单
import basicData from 'routes/admin/basic-data' //基础数据
import budgetSetting from 'routes/admin/budget-setting'  //预算设置
import creditSetting from 'routes/admin/credit-setting'//信用设置
import dashboardAdmin from 'routes/admin/dashboard-admin'  //管理员仪表盘

import enterpriseManage from 'routes/admin/enterprise-manage'; //企业管理
import expenseReimbursementControl from 'routes/admin/expense-reimbursement-control' //费用与报销管控
import financeSetting from 'routes/admin/finance-setting'  //财务设置
import financialAccount from 'routes/admin/financial-account'  //财务核算设置

import helpCenterAdmin from "routes/admin/help-center-admin";  //帮助中心
import paySetting from 'routes/admin/pay-setting' //支付设置
import permissionSetting from 'routes/admin/permission-setting' //权限管理

import setting from 'routes/admin/setting'  //基础设置
import supplierManagement from 'routes/admin/supplier-management' //供应商管理
/*
* 依次导入目录 src/routes/normal 下面的文件
* */
//非管理员模式下菜单
import approve from 'routes/normal/approve'  //审批
import bookingManagement from 'routes/normal/booking-management' //订票

import budget from 'routes/normal/budget'  //预算
import dashboard from 'routes/normal/dashboard'  //仪表盘

import dataCenter from 'routes/normal/data-center' //数据中心
import scanReceive from 'routes/normal/scan-receive' //扫码收单
import expenseReport from 'routes/normal/expense-report'  //报销单
import financialManagement from 'routes/normal/finacial-management'  //财务管理
import helpCenterUser from 'routes/normal/help-center-user' //帮助中心-普通用户模式

import loanBilling from 'routes/normal/loan-billing'  //借款及还款
import messagesCenter from 'routes/normal/messages-center' //消息中心
import mileageSubsidyExpense from 'routes/normal/mileage-subsidy-expense' //里程补贴
import myAccount from 'routes/normal/my-account'  //我的账本

import myAgency from 'routes/normal/my-agency'  //我的代理
import pay from 'routes/normal/pay'  //支付
import personalSettings from 'routes/normal/personal-settings' //个人设置

import reportList from 'routes/normal/report-list' //报表
import request from 'routes/normal/request'  //申请单
import requestClose from 'routes/normal/request-close'  //申请单关闭
import subApplicationView from 'routes/normal/sub-application-view'  //子应用

import thirdConsumption from 'routes/normal/third-consumption'  //第三方消费
import contract from 'routes/normal/contract'; // 我的合同
import componentLib from 'routes/normal/component-lib';

import customerInfoMaintenance from 'routes/normal/customer-info-maintenance'
import supplierMaintenance from 'routes/normal/supplier-maintenance'

import home from 'routes/normal/home';//控制台首页
import paymentRequest from 'routes/normal/payment-request'; // 付款申请单
import confirmConsumption from 'routes/normal/confirm-consumption'; // 消费确认
import corporatePayment from 'routes/normal/corporate-payment-report'; // 对公支付单

/**
 * 项目菜单整体路由配置
 * 分为三层: menuItem, subMenuItem, children
 * menuItem为菜单一级
 * subMenuItem为菜单二级
 * children为具体页面的所有内部页面
 * @params name    菜单标题
 * @params key    菜单id
 * @params url    菜单路径
 * @params components    菜单组件
 * @params parent    父菜单id
 * @params subMenu    二级菜单列表
 * @params children    页面内部所有页面 key : page
 * @params admin    bool:代表管理员模式
 * @params company  bool:-公司模式下是否显示，如果该值与tenant都不设置，则都显示
 * @params tenant   bool:-集团模式下是否显示，如果该值与company都不设置，则都显示
 * @params role     array-string:在该角色权限下显示，都有才会显示，如果不设置则不控制，可以为字符串或数组
 * @params hasRole  array:-在该角色数组权限下显示，如果有其中之一即显示，不设置则不控制
 * @params pageRole array:-在该角色数组权限下显示，如果有其中之一即显示，不设置则不控制
 * @params oldCompany  string:是否只在老公司下显示，'OLD_ONLY'为只在老公司下显示，'NEW_ONLY'为老公司不显示，不设置则都显示
 * @params hideInUrl  string: 在包含该域名的情况下隐藏
 */
export default [
  messagesCenter,//消息中心
  home,  //控制台首页
  dashboard,  //仪表盘
  myAccount,  //我的账本
  expenseReport,  //报销单
  request,  //申请单
  requestClose,  //申请单关闭
  loanBilling, //借款及还款
  myAgency, //我的代理
  approve, //审批
  subApplicationView, //子应用
  thirdConsumption,  //第三方消费
  financialManagement,  //财务管理
  budget,  //预算
  pay,  //支付
  bookingManagement,//订票
  mileageSubsidyExpense,//里程补贴
  dataCenter, //数据中心
  scanReceive, //扫码收单
  reportList, //报表
  helpCenterUser,//帮助中心-员工模式
  personalSettings,  //个人设置
  componentLib, //组件库
  contract, //合同
  customerInfoMaintenance,//客户主体业务数据
  supplierMaintenance,//供应商维护
  /** 以下是管理员模式下的菜单 **/
  dashboardAdmin,  //管理员仪表盘
  setting,  //基础设置
  expenseReimbursementControl, //费用与报销管控
  budgetSetting,  //预算设置
  financeSetting,  //财务设置
  financialAccount, //财务核算设置
  basicData,      //基础数据
  enterpriseManage,  //企业管理
  paySetting,   //支付设置
  creditSetting,  //信用设置
  supplierManagement, //供应商管理
  helpCenterAdmin,//帮助中心
  permissionSetting,//权限管理
  paymentRequest,
  confirmConsumption, // 消费确认
  corporatePayment //对公支付单
];

if (module.hot) {
  module.hot.addStatusHandler(function (status) {
    // console.log('menu===== hot status: ', status);
    if(status === 'idle'){
      setTimeout(()=>{
        window.refreshApp && window.refreshApp();
      }, 100)
    }
  });
}
